Continuous Integration and Quality Assurance: a case study of two open source projects
نویسندگان
چکیده
A decentralized variant of continuous integration can be defined in terms of two fundamental rules: (1) Developers’ access to add contributions to the development version at any time, and (2) Developers’ obligation to properly integrate their own contributions. Decentralized, continuous integration may adapt well to organizations where developers work relatively independently, as in many open source projects. The approach raises the issue of how these organizations can exercise central control, because to attain the benefits of continuous integration it is crucial that contributions are useful and satisfy the project’s definition of successful integration. We investigate the use of continuous integration in FreeBSD and Mozilla. Our account of quality assurance activities in the two open source projects distinguishes between Mintzberg’s three complementary forms of central control: Standardization and control of work output, work process, and worker skill. The study indicates that two major challenges face projects using decentralized, continuous integration: (1) To balance the access to add contributions against the need to stabilize and mature the software prior to a release, and (2) To consider the developers’ limited time and resources when interpreting their obligation to properly integrate their changes.
منابع مشابه
Leveraging Open-Source Communities To Improve the Quality & Performance of Open-Source Software
Open-source development processes have emerged as an effective approach to reduce cycle-time and decrease design, implementation, and quality assurance costs for certain types of software, particularly systems infrastructure software, such as operating systems, compilers and language processing tools, editors, and distribution middleware. This paper presents two contributions to the study of op...
متن کاملAttention, Test Code is Low-quality!
In this paper, we describe the formatting guidelines for ACM SIG Proceedings. Software testing is an essential process during software development and maintenance for improving software quality. Test code, the artefact during software testing, has been widely used in many software quality assurance techniques. Traditionally, software quality assurance techniques, e.g., automatic bug repair, fau...
متن کاملIncreasing quality and managing complexity in neuroinformatics software development with continuous integration
High quality neuroscience research requires accurate, reliable and well maintained neuroinformatics applications. As software projects become larger, offering more functionality and developing a denser web of interdependence between their component parts, we need more sophisticated methods to manage their complexity. If complexity is allowed to get out of hand, either the quality of the softwar...
متن کاملQuality Assurance of Open Source Projects
From the outset on, the development of Open Source Software (OSS) was characterized by the difficulty of evaluating the quality of the product. Due to the massive parallel development and the absence of the approved control structures of conventional software development, new strategies for ensuring quality had to be conceived. This paper gives a review of the established processes of the Open ...
متن کاملExploratory Analysis of Quality Practices in Open Source Domain
Software quality assurance has been a heated topic for several decades, but relatively few analyses were performed on open source software (OSS). As OSS has become very popular in our daily life, many researchers have been keen on the quality practices in this area. Although quality management presents distinct patterns compared with those in closed-source software development, some widely used...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Australasian J. of Inf. Systems
دوره 11 شماره
صفحات -
تاریخ انتشار 2003